package cn.kuporo.seckill.order.application.service;

import cn.kuporo.seckill.common.model.dto.SeckillOrderSubmitDTO;
import cn.kuporo.seckill.order.application.model.task.SeckillOrderTask;
import cn.kuporo.seckill.order.application.model.command.SeckillOrderCommand;

/**
 * @author: kuporo
 * @since: 2025/7/11
 * @description: 提交订单服务
 */
public interface SeckillSubmitOrderService {
    /**
     * 保存订单
     */
    SeckillOrderSubmitDTO saveSeckillOrder(Long userId, SeckillOrderCommand seckillOrderCommand);


    /**
     * 处理订单任务
     */
    default void handlePlaceOrderTask(SeckillOrderTask seckillOrderTask){

    }

    /**
     * 实现基础校验功能
     */
    default void checkSeckillOrder(Long userId, SeckillOrderCommand seckillOrderCommand){
    }
}
